home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / answrbok / 7_10.lha / 7_10 / qt_cut.c < prev    next >
Text File  |  1993-08-08  |  955b  |  32 lines

  1. * Copyright (c) 1990 by AT&T Bell Telephone Laboratories, Incorporated. */
  2. * The C++ Answer Book */
  3. * Tony Hansen */
  4. * All rights reserved. */
  5. include <process.h>
  6. include <debug.h>    /* DELETE */
  7. / Change
  8. /    old_queue_head  --  old_queue  --  old_queue_tail
  9. / into
  10. /    old_queue_head  --  old_queue  --  new_queue_tail
  11. /                new_queue  --  old_queue_tail
  12. / where old_queue_tail == this
  13. / Return new_queue_tail.
  14. ueue_tail *queue_tail::cut()
  15.  
  16.    if (debug) /*DELETE*/ cerr << "queue_tail" << this << "::cut()\n";
  17.    process_queue *oldQ = qt_queue;
  18.    queue_tail *new_tail = new queue_tail(qt_mode, oldQ->q_max);
  19.    process_queue *newQ = new_tail->qt_queue;
  20.  
  21.    // put the new tail on the old queue
  22.    new_tail->qt_queue = oldQ;
  23.    oldQ->q_tail = new_tail;
  24.  
  25.    // put the old tail on the new queue
  26.    newQ->q_tail = this;
  27.    qt_queue = newQ;
  28.  
  29.    if (debug) /*DELETE*/ cerr << "<<<< queue_tail" << this << "::cut() <- " << new_tail << "\n";
  30.    return new_tail;
  31.  
  32.